package com.smart.community.region.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 楼栋查询条件DTO
 * 
 * @author Wu.Liang
 * @since 2024-12-21
 */
@Data
@Schema(description = "楼栋查询条件DTO")
public class BuildingQueryDTO {

    @Schema(description = "楼栋编号（精确查询）")
    private String buildingNo;

    @Schema(description = "楼栋名称（模糊查询）")
    private String buildingName;

    @Schema(description = "所属社区ID")
    private Long communityId;

    @Schema(description = "楼栋类型：1-住宅楼，2-商业楼，3-办公楼，4-综合楼")
    private Integer buildingType;

    @Schema(description = "结构类型：1-框架，2-剪力墙，3-砖混，4-钢结构")
    private Integer structureType;

    @Schema(description = "建筑年代")
    private Integer buildYear;

    @Schema(description = "楼层数范围最小值")
    private Integer minFloorCount;

    @Schema(description = "楼层数范围最大值")
    private Integer maxFloorCount;

    @Schema(description = "单元数范围最小值")
    private Integer minUnitCount;

    @Schema(description = "单元数范围最大值")
    private Integer maxUnitCount;

    @Schema(description = "状态：0-禁用，1-启用")
    private Integer status;

    @Schema(description = "排序字段", example = "create_time")
    private String orderBy;

    @Schema(description = "排序方向：asc-升序，desc-降序", example = "desc")
    private String orderDirection;

    @Schema(description = "当前页码", example = "1")
    private Integer current = 1;

    @Schema(description = "每页大小", example = "10")
    private Integer size = 10;
} 